home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / clipper / code_1.zip / TEM_INIT.PRG < prev    next >
Text File  |  1988-12-16  |  9KB  |  239 lines

  1. * ____INIT.PRG
  2. * ________ SYSTEM STARTUP MODULE by Gary L. Cota
  3. * Called from ________.PRG
  4. *     created: __/__/__
  5. * last update: __/__/__
  6. *
  7. **************************************************
  8. * NOTE:  This routine has been put in an overlay *
  9. *        file to minimize the .EXE file size.    *
  10. **************************************************
  11. *
  12. ****************************************************************
  13. * User Defined Functions (UDFs) are in the TEM_UDFS.PRG file.  *
  14. ****************************************************************    
  15. *
  16. ******************************************************************
  17. * Get the color control variables from the memory variable file. *
  18. ******************************************************************
  19. IF FILE("SSCOLORS.MEM")
  20.    RESTORE FROM SSCOLORS ADDITIVE
  21. ELSE
  22.    IF ISCOLOR()
  23.       c_scrl_box="N/BG"
  24.       c_goto_box="+BG/N"
  25.       c_scrl_con="N/BG"
  26.       c_scrl_bar="+GR/B"
  27.       c_box_inv ="N/B"
  28.       sys_color ="GR+/N,GR+/B,W+/N,BG+/B"  &&  system color string
  29.    ELSE
  30.       STORE "W/N" TO c_scrl_box,c_goto_box,c_scrl_con,c_scrl_bar,c_box_inv
  31.       STORE "W/N,W/N,W/N,W/N" TO sys_color
  32.    ENDIF
  33.    SAVE TO SSCOLORS
  34. ENDIF
  35. *
  36. sys_comm="F1=Help     ESC=Exit/Quit"
  37. *
  38. USE_DBF=.T.             && dBDSCRL accessing .dbf files (rather than arrays) if required
  39. *
  40. *************************************************************
  41. * The sys_dkey variable contains the key which was used to  *
  42. * encrypt secured data in the __WTFO.DBF file (see below).  *
  43. * The string used to create the encrypted data MUST be the  *
  44. * identical string used to decrypt the data.                *
  45. * Refer to PASSWORD.PRG (password encryption program) and   *
  46. * the __UTIL.PRG, Security Adminstration program for addi-  *
  47. * tional information.                                       *
  48. *************************************************************
  49. sys_dkey="#@$uSa!&*"  && This string required to decrypt secured data in __WTFO file
  50. *
  51. **************************
  52. * Display Opening Screen *
  53. **************************
  54. *
  55. *
  56. SET COLOR TO W+/N
  57. CLEAR
  58. @ 01,07      SAY " ████████████████        █████████████████        ███████"
  59. @ ROW()+1,07 SAY "█████████████████       ██████████████████       ████████"
  60. @ ROW()+1,07 SAY "█████████████████       ███████▀▀▀▀▀▀▀▀▀▀        ████████"
  61. @ ROW()+1,07 SAY "████████▀▀███████       ███████                  ████████"
  62. @ ROW()+1,07 SAY "████████  ███████       █████████████            ████████"
  63. @ ROW()+1,07 SAY "█████████████████       █████████████            ████████"
  64. @ ROW()+1,07 SAY "█████████████████       ███████▀▀▀▀▀             ████████"
  65. @ ROW()+1,07 SAY "█████████████████       ███████                  ████████"
  66. @ ROW()+1,07 SAY "███████    ██████       ███████                  ████████"
  67. @ ROW()+1,07 SAY "███████    ██████       █████████████████        ██████████████████"
  68. @ ROW()+1,07 SAY "███████    ██████       █████████████████        ██████████████████"
  69. @ ROW()+1,07 SAY "██████     █████        ████████████████         █████████████████"
  70. *
  71. SET COLOR TO B/N
  72. @ 02,07 SAY CHR(219)
  73. @ ROW()+1,07 SAY CHR(219)
  74. @ ROW()+1,07 SAY CHR(219)
  75. @ ROW(),15   SAY REPLICATE(CHR(223),2)
  76. @ ROW(),17   SAY CHR(219)
  77. @ ROW()+1,07 SAY CHR(219)
  78. @ ROW(),17   SAY CHR(219)
  79. @ ROW()+1,07 SAY CHR(219)
  80. @ ROW()+1,07 SAY CHR(219)
  81. @ ROW()+1,07 SAY CHR(219)
  82. @ ROW()+1,07 SAY CHR(219)
  83. @ ROW(),18   SAY CHR(219)
  84. @ ROW()+1,07 SAY CHR(219)
  85. @ ROW(),18   SAY CHR(219)
  86. @ ROW()+1,07 SAY CHR(219)
  87. @ ROW(),18   SAY CHR(219)
  88. @ ROW()+1,07 SAY REPLICATE(CHR(223),6)
  89. @ ROW(),18   SAY REPLICATE(CHR(223),5)
  90. *
  91. @ 02,31      SAY CHR(219)
  92. @ ROW()+1,31 SAY CHR(219)
  93. @ ROW(),38   SAY REPLICATE(CHR(223),10)
  94. @ ROW()+1,31 SAY CHR(219)
  95. @ ROW()+1,31 SAY CHR(219)
  96. @ ROW()+1,31 SAY CHR(219)
  97. @ ROW()+1,31 SAY CHR(219)
  98. @ ROW(),38   SAY REPLICATE(CHR(223),5)
  99. @ ROW()+1,31 SAY CHR(219)
  100. @ ROW()+1,31 SAY CHR(219)
  101. @ ROW()+1,31 SAY CHR(219)
  102. @ ROW()+1,31 SAY CHR(219)
  103. @ ROW()+1,31 SAY REPLICATE(CHR(223),16)
  104. *
  105. @ 02,56      SAY CHR(219)
  106. @ ROW()+1,56 SAY CHR(219)
  107. @ ROW()+1,56 SAY CHR(219)
  108. @ ROW()+1,56 SAY CHR(219)
  109. @ ROW()+1,56 SAY CHR(219)
  110. @ ROW()+1,56 SAY CHR(219)
  111. @ ROW()+1,56 SAY CHR(219)
  112. @ ROW()+1,56 SAY CHR(219)
  113. @ ROW()+1,56 SAY CHR(219)
  114. @ ROW()+1,56 SAY CHR(219)
  115. @ ROW()+1,56 SAY REPLICATE(CHR(223),17)
  116. *
  117. mmsg="________________________________________________________________"
  118. SET COLOR TO +B/N
  119. @ 15,40-(LEN(mmsg)/2) SAY mmsg  
  120. @ 16,14 SAY " Copyright 1988 - American Electronic Laboratories"
  121. SET COLOR TO +BG/N
  122. @ 19,23 SAY "Please Enter User Name  xxxxxxxxxx"
  123. @ 20,23 SAY "Please Enter Password   xxxxxxxxxx"
  124. *
  125. ******************************
  126. * Get User Name and Password *
  127. ******************************
  128. *
  129. *************************************************************
  130. * The current field assignments for __WTFO are as follows:  *
  131. *                                                           *
  132. *  F01 .......... LOG_OUT  - Did the user exit normally?    *
  133. *  F02 .......... TIME_OUT - Time user logged out           *
  134. *  F03 .......... DATE_OUT - Date user logged out           *
  135. *  F04 .......... TIME_IN  - Time user logged in            *
  136. *  F05 .......... DATE_IN  - Date user logged in            *
  137. *  F06 .......... SECURITY - User access level (ENCRYPT)    *
  138. *  F07 .......... USERPASS - User password (PASSWORD)       *
  139. *  F08 .......... USERNAME - User name (ENCRYPT)            *
  140. *  F09 .......... DUMMY    - Bogus field                    *
  141. *  F10 .......... DUMMY    - Bogus field                    *
  142. *  F11 .......... PRINTER  - Local or Network printer       *
  143. *  F12 .......... SERVER   - Network SERVER name (for       *
  144. *                            print spooling purposes)       *
  145. *  F13 .......... DUMMY    - Bogus field                    *
  146. *  F14 .......... DUMMY    - Bogus field                    *
  147. *                                                           *
  148. * If the field order seems strange, it is deliberate.  The  *
  149. * order is the inverse of the original .dbf structure.  The *
  150. * original field names are also listed.                     *
  151. *                                                           *
  152. * NOTE:  PASSWORD indicates field is protected using the    *
  153. * c_PASSWORD() function; ENCRYPT indicated fields are       *
  154. * protected using the c_ENCRYPT() function. Both of these   *
  155. * functions are 100% CLIPPER and are found at in the        *
  156. * TEM_UDFS.PRG program.                                     *
  157. *************************************************************
  158. *
  159. USE __WTFO
  160. mlctr=1
  161. SET CURSOR ON
  162. DO WHILE .T.
  163.    IF mlctr>3
  164.       mmsg="INTRUDER ALERT!!!  WORKSTATION & USER NOTED - ACCESS TO SYSTEM DENIED."
  165.       @ 23,40-(LEN(mmsg)/2) SAY mmsg
  166.       FOR I=1 TO 10
  167.          TONE(130.8,6)
  168.          TONE(196.0,6)
  169.       NEXT
  170.  
  171.       *
  172.       *******************************************************
  173.       * Include the following statements if system requires *
  174.       * multi-user capabilities or single-user security.    *
  175.       *******************************************************   
  176.       *  intr_adr=N_ADDR()
  177.       *  intr_stn=N_STANUM()
  178.       *  intr_who=N_WHOAMI()
  179.       *  SAVE TO SSIARF ALL LIKE intr_*
  180.       QUIT
  181.    ENDIF
  182.    SET COLOR TO W/N,N/W,,,,
  183.    mwork=SPACE(10)
  184.    user_name=SPACE(10)
  185.    user_level=0
  186.    @ 19,47 GET user_name PICTURE "@!"
  187.    READ
  188.    IF user_name=SPACE(10)
  189.       EXIT
  190.    ENDIF
  191.    *
  192.    * Password
  193.    *
  194.    SET COLOR TO W/N,X
  195.    @ 21,47 GET mwork PICTURE "@!"
  196.    READ
  197.    CLEAR GETS
  198.    SET COLOR TO (sys_color)
  199.    *
  200.    ********************************************************************
  201.    * c_ENCRYPT() and c_PASSWORD() functions should be included at the *
  202.    * bottom of the main menu/load program.                            *
  203.    ********************************************************************    
  204.    LOCATE FOR c_ENCRYPT(user_name,sys_dkey)=F08 .AND. c_PASSWORD(mwork,sys_dkey)=F07
  205.    IF EOF()
  206.       mmsg="INVALID USER AND/OR PASSWORD"
  207.       ?? CHR(7)
  208.       @ 23,40-(LEN(mmsg)/2) SAY mmsg
  209.    ELSE
  210.       REPLACE F05 WITH DATE(),F04 WITH TIME(),F01 WITH .F.
  211.       user_level=F06
  212.       *
  213.